package com.ccys.db.dto.app.preConsultDrugAllergies;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @Author：XLY
 * @Date：2024/1/25 0025
 */

@Data
public class UpdateBookingDto {


    private String booking_id;//":"ab007348-0417-42c2-8b0a-4ae405b95974",
    private String booking_code;//":"0414011550492",
    private String child_id;//":"f9f2daee-c668-425f-b55d-9cf7d7141df6",
    private String doctor_id;//":"ba0b7704-b04d-441d-9f87-bf84717a63c5",
    private String booking_type;//":"a_child",
    private Boolean G6PD;//":false,
    private Boolean pregnant;//":false,
    private List<SymptomVo> symptoms;//"
    private List<MedicationRequest> medications;//"
    private List<AllergiesRequest> allergies;//"
    private List<AllergiesRequest> medication_reactions;//"
    private String card_id;//":"",
    private String account_id;//":"",
    private String account_member_id;//":"",
    private String account_type;//":"individual",
    private String time_of_symptom;//":null,
    private String time_of_photo;//":null,
    private String time_of_medication;//":null,
    private String time_of_drug_allergy;//":null,
    private String deeplink_id;//":"",
    private String member_corporate_id;//":"",
    private String profile_type_id;//":0,
    private AppointmentVo appointment;//":
    private String specialisation_id;//":1,
    private EmergencyContact emergency_contact;//":null,
    private String location_address;//":"",
    private String location_floor_number;//":null,
    private String location_postal_code;//":"",
    private String location_country;//":"",
    private String location_state;//":null,
    private BigDecimal location_latitude;//":0,
    private BigDecimal location_longitude;//":0,
    private String location_detail_address;//":null,
    private String active_code;//":"",
    private String member_ltria_corporate_id;//":null


    @Data
    public static class SymptomVo {
        private String name;
    }


    @Data
    public static class AllergiesRequest {
        private String id;

        private String index;

        private String name;
    }


    @Data
    public  static class MedicationRequest {
        private String id;

        private String usagePeriod;

        private String amountOfDosage;
    }


    @Data
    public static class AppointmentVo {

        private Integer appointment_type;

        private Date appointment_time;
    }


    @Data
    public static class EmergencyContact{

        private String firstName;

        private String lastName;

        private String relationship;

        private String phone;

        private Integer phoneCountry;
    }






//    @JsonProperty("booking_id")
//    private String bookingId;
//
//    @JsonProperty("booking_code")
//    private String bookingCode;
//
//    @JsonProperty("child_id")
//    private String childId;
//
//    @JsonProperty("doctor_id")
//    private String doctorId;
//
//    @JsonProperty("booking_type")
//    private String bookingType;
//
//    @JsonProperty("G6PD")
//    private boolean g6pd;
//
//    @JsonProperty("pregnant")
//    private boolean pregnant;
//
//    @JsonProperty("symptoms")
//    private List<SymptomVo> symptoms;
//
//    @JsonProperty("medications")
//    private List<MedicationRequest> medications;
//
//    @JsonProperty("allergies")
//    private List<AllergiesRequest> allergies;
//
//    @JsonProperty("medication_reactions")
//    private List<AllergiesRequest> medicationReactions;
//
//    @JsonProperty("card_id")
//    private String cardId;
//
//    @JsonProperty("account_id")
//    private String accountId;
//
//    @JsonProperty("account_member_id")
//    private String accountMemberId;
//
//    @JsonProperty("account_type")
//    private String accountType;
//
//    @JsonProperty("time_of_symptom")
//    private String timeOfSymptom;
//
//    @JsonProperty("time_of_photo")
//    private String timeOfPhoto;
//
//    @JsonProperty("time_of_medication")
//    private String timeOfMedication;
//
//    @JsonProperty("time_of_drug_allergy")
//    private String timeOfDrugAllergy;
//
//    @JsonProperty("deeplink_id")
//    private String deeplinkId;
//
//    @JsonProperty("member_corporate_id")
//    private String memberCorporateId;
//
//    @JsonProperty("profile_type_id")
//    private int profileTypeId;
//
//    @JsonProperty("appointment")
//    private AppointmentVo appointment;
//
//    @JsonProperty("specialisation_id")
//    private int specialisationId;
//
//    @JsonProperty("emergency_contact")
//    private EmergencyContact emergencyContact;
//
//    @JsonProperty("location_address")
//    private String locationAddress;
//
//    @JsonProperty("location_floor_number")
//    private int locationFloorNumber;
//
//    @JsonProperty("location_postal_code")
//    private String locationPostalCode;
//
//    @JsonProperty("location_country")
//    private String locationCountry;
//
//    @JsonProperty("location_state")
//    private String locationState;
//
//    @JsonProperty("location_latitude")
//    private double locationLatitude;
//
//    @JsonProperty("location_longitude")
//    private double locationLongitude;
//
//    @JsonProperty("location_detail_address")
//    private String locationDetailAddress;
//
//    @JsonProperty("active_code")
//    private String activeCode;
//
//    @JsonProperty("member_ltria_corporate_id")
//    private String memberLtriaCorporateId;

}
